﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;

namespace ObjectTransposeApi.Structure
{
    /// <summary/>
    internal class QueueStructure
    {
        private object _destination;
        private PropertyInfo[] _destinationPropertyInfos;
        private object _source;
        private PropertyInfo[] _sourcePropertyInfos;

        /// <summary/>
        internal QueueStructure(
            object destination,
            PropertyInfo[] destinationPropertyInfos,
            object source,
            PropertyInfo[] sourcePropertyInfos)
        {
            this._destination = destination;
            this._destinationPropertyInfos = destinationPropertyInfos;
            this._source = source;
            this._sourcePropertyInfos = sourcePropertyInfos;
        }

        /// <summary/>
        internal object Destination
        {
            get { return this._destination; }
        }

        /// <summary/>
        internal PropertyInfo[] DestinationPropertyInfos
        {
            get { return this._destinationPropertyInfos; }
        }

        /// <summary/>
        internal object Source
        {
            get { return this._source; }
        }

        /// <summary/>
        internal PropertyInfo[] SourcePropertyInfos
        {
            get { return this._sourcePropertyInfos; }
        }
    }
}
